package cn.fuxi2022.module.excel.pojo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.metadata.data.WriteCellData;
import lombok.Data;

import java.util.Date;

/**
 * 实体类 ---> 与Excel对应
 * ExcelProperty：设置表头
 */
@Data
public class DemoData {

    @ColumnWidth(25)
    @ExcelProperty({"ACM复熙智社社团管理系统-社员信息", "系统ID"})
    private String studentId;

    // --------------------------------------

    @ColumnWidth(15)
    @ExcelProperty({"ACM复熙智社社团管理系统-社员信息", "学生信息", "学生姓名"})
    private String name;

    @ColumnWidth(15)
    @ExcelProperty({"ACM复熙智社社团管理系统-社员信息", "学生信息", "电话号码"})
    private String phone;

    @ColumnWidth(15)
    @ExcelProperty({"ACM复熙智社社团管理系统-社员信息", "学生信息", "学号"})
    private String studentSchoolId;

    @ColumnWidth(10)
    @ExcelProperty({"ACM复熙智社社团管理系统-社员信息", "学生信息", "性别"})
    private String sex;

    @ColumnWidth(50)
    @ExcelProperty({"ACM复熙智社社团管理系统-社员信息", "学生信息", "学院"})
    private String collegeName;

    @ColumnWidth(50)
    @ExcelProperty({"ACM复熙智社社团管理系统-社员信息", "学生信息", "班级"})
    private String className;

    @ColumnWidth(20)
    @ExcelProperty({"ACM复熙智社社团管理系统-社员信息", "学生信息", "宿舍"})
    private String dorm;

    @ColumnWidth(20)
    @ExcelProperty({"ACM复熙智社社团管理系统-社员信息", "学生信息", "程度"})
    private String level;

    @ColumnWidth(10)
    @ExcelProperty({"ACM复熙智社社团管理系统-社员信息", "学生信息", "方向"})
    private String direction;

    // --------------------------------------

    @ColumnWidth(15)
    @ExcelProperty({"ACM复熙智社社团管理系统-社员信息", "系统信息", "状态"})
    private String status;

    @ColumnWidth(30)
    @ExcelProperty({"ACM复熙智社社团管理系统-社员信息", "系统信息", "入社开始时间"})
    @DateTimeFormat("yyyy年MM月dd日 HH时mm分ss秒")
    private Date time;

    @ColumnWidth(30)
    @ExcelProperty({"ACM复熙智社社团管理系统-社员信息", "系统信息", "入社成功时间"})
    @DateTimeFormat("yyyy年MM月dd日 HH时mm分ss秒")
    private Date successfulTime;

    @ColumnWidth(20)
    @ExcelProperty({"ACM复熙智社社团管理系统-社员信息", "系统信息", "入社耗时(秒)"})
    private String useTime;

    @ColumnWidth(20)
    @ExcelProperty({"ACM复熙智社社团管理系统-社员信息", "系统信息", "活动签到次数"})
    private Integer signCount;

    // --------------------------------------
    @ColumnWidth(15)
    @ExcelProperty({"ACM复熙智社社团管理系统-社员信息", "订单信息", "订单个数"})
    private Integer orderCount;

    @ColumnWidth(25)
    @ExcelProperty({"ACM复熙智社社团管理系统-社员信息", "订单信息", "成功订单的流水号"})
    private String orderNo;

    @ColumnWidth(25)
    @ExcelProperty({"ACM复熙智社社团管理系统-社员信息", "订单信息", "成功支付耗时(秒)"})
    private Integer orderTime;

    // -----------------------------------------


    /**
     * 指定单元格的样式。当然样式 也可以用注解等方式。
     *
     * @since 3.0.0-beta1
     */
    @ExcelIgnore
    private WriteCellData<String> writeCellStyle;

}
